# Author:Xiao yang
# 时间：0928-week04
import time  # 获取time板块。
import datetime
from datetime import datetime  # 从datetime中获取datetime板块。

#  作业要求：*优化课程表，***增加用户输入***，输入指定时间格式，输出对应的课程表【OK：假设输入（Monday）可以直接输出Monday的课表】（非会员每天可以使用5次，会员可以使用10次，登录时判断）
#  关键点：1.账号密码输入情况 √；2.会员与非会员的判断；3.会员的课表查询课表——课表情况与剩余查询次数。
#  理清一个逻辑顺序（大包小）：1.首先确定用户是会员用户【while true】登录；2.在判断是否会员；3.再确定会员的权限【再次使用while true函数判断课表输出了多少次】；
#  实际操作：假设自己本身就是vip会员，
#  重点：input() ==> 输入；另外补充的知识，option ==> 选择
#  总结：有些小问题：1.按道理来说，循环完vip_user，break后又会直接跳到【输入用户名】，但尝试把行158（if-vip）的break删掉，出现错误,猜测因为时间条件混乱导致；
#                 2.原来的课程表有bug,应该还有更好的方法可以进行设置，但暂时没想到。

now = datetime.now()
print(time.strftime("%Y/%m/%d %H:%M:%S %b-%A", time.localtime()))  # 以”年/月/日 时：分：秒“形式输出当地时间。

vip_user = "xy"
vip_password = "2021"
con_user = "123"
con_password = "321"

count = 3
while True:
    count -= 1
    # 用户输出数据
    username = input("请输入您的用户名：")
    password = input("请输入您的密码：")
    # 1.先判断账号
    if vip_user or con_user == username:
        if vip_password == password:
            print() # 空行，表示美观
            print("欢迎尊贵的会员用户", vip_user, "，成功登录python魔仙堡系统使用~")

            print("*******进入用户界面*******")
            print()
            print("尊敬的会员用户您好！您现在的课程情况为：")


            day = datetime.today().weekday()  # 表示今天的日期
            time = datetime.today().hour  # 表示今天日期的时间

            week_day = int(day)  # ①可以将一个数转化为整数【且不带参数，直接输出int（），得到的是整数0；②int接受字符串作为参数：类型转换。】
            week_time = int(time)

            if week_day == 1:
                if week_time < 12:
                    print("好耶！不用上课，赶快睡觉！你个废人~")
                elif week_time > 12 and week_time < 18:
                    print("今天有一门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！10-11节 韩语语言与文化3-202")
                elif week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            elif week_day == 2:
                if week_time < 12:
                    print("今天有两门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！4-5节 毛概(实践)7-402")
                if week_time > 12 and week_time < 18:
                    print("今天最后一节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！8-10节 网站运营与管理3实-304")
                if week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            elif week_day == 3:
                if week_time < 12:
                    print("今天有两门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！3-5节 毛概(理论)9-201")
                if week_time > 12 and week_time < 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")
                if week_time > 18:
                    print("今天最后一节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！12-13节 大学英语10-205")

            elif week_day == 4:
                if week_time < 12:
                    print("今天有两门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！3-5节 Python新综612")
                if week_time > 12 and week_time < 18:
                    print("今天最后一节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！8-11节 纪录片评析4-206")
                if week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            elif week_day == 5:
                if week_time < 12:
                    print("今天有四门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！1-2节 Ai软件应用 新综612")
                    print(" 3-4节 Ai软件应用 新综612")
                if week_time > 12 and week_time < 18:
                    print("今天最后两节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！8-9节 大学英语10-205")
                    print("别拖拉！要上课了！10-11节 太极拳 西体西")
                if week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            else:
                print("难得时刻！")
                print("终于可以好好休息了~享受下难得的周末吧！")

            # coding=utf-8。Unicode码位的取值范围是0x0——0x10ffff（这是十六进制数），等于十进制数0到1114111，而“Emoji”位于0x1f300——0x1f6ff区域内。
            for i in range(0x1f600, 0x1f601):
                print(chr(i), end="nice！")
                if i % 16 == 15:
                    print()

            while True: # 多加一个while true ，即采用该语句的核心思想是如果出现错误的话，可以继续循环。
                # count -= 1 【这里不能紧跟着count -=1 ，因为会重复出现行106-108内容。过于繁琐】
                print()
                print("""会员可通过权限，查看10次详细的课表：""")

# input，即输入。input()应用在if语句中.
# 在下面代码中，需要将input() 定义成整型，因为在if语句中自变量 option 对应的是1 和 2 整数型。输入的内容和判断句中对应的内容格式应该一致。
# 也可以将if语句中的1 和 2 定义成字符串，其中区别请自定写入代码查看。   ————来自CSDN的博客主。

                print("*******请输入【确切数字】，可查看当天详细课表*******")
                count = 10
                while True:
                    count -= 1  # 加在这里也没用
                    num = ["1", "2", "3", "4", "5"]
                    num = input("请输入您的选择:")


                    if "1" in num:
                        print("在星期一，您只有一门课哦~")
                        print("10-11节 韩语语言与文化3-202")
                        print("您还有", count, "次查询机会")
                        print()
                    elif "2" in num:
                        print("在星期二，您有两门课哦~")
                        print("4-5节 毛概(实践)7-402")
                        print("8-10节 网站运营与管理3实-304")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    elif "3" in num:
                        print("在星期三，您有两门课哦~")
                        print("3-5节 毛概(理论)9-201")
                        print("12-13节 大学英语10-205")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    elif "4" in num:
                        print("在星期四，您有两门课哦~")
                        print("3-5节 Python新综612")
                        print("8-11节 纪录片评析4-206")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    elif "5" in num:
                        print("在星期五，您有四门课哦~")
                        print("1-2节 Ai软件应用 新综612")
                        print(" 3-4节 Ai软件应用 新综612")
                        print("8-9节 大学英语10-205")
                        print("10-11节 太极拳 西体西")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    if count == 0:
                        print("对不起！您今日可查询次数已到达上限，请明天再来查询。")
                        break
                break
            break
        elif con_password == password:
            print()  # 空行，表示美观
            print("欢迎用户", con_user, "，成功登录python魔仙堡系统使用~")

            print("*******进入用户界面*******")
            print()
            print("尊敬的用户您好！您现在的课程情况为：")
            now = datetime.now()
            print(time.strftime("%Y/%m/%d %H:%M:%S", time.localtime()))  # 以”年/月/日 时：分：秒“形式输出当地时间。

            day = datetime.today().weekday()  # 表示今天的日期
            time = datetime.today().hour  # 表示今天日期的时间

            week_day = int(day)  # ①可以将一个数转化为整数【且不带参数，直接输出int（），得到的是整数0；②int接受字符串作为参数：类型转换。】
            week_time = int(time)

            if week_day == 1:
                if week_time < 12:
                    print("好耶！不用上课，赶快睡觉！你个废人~")
                elif week_time > 12 and week_time < 18:
                    print("今天有一门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！10-11节 韩语语言与文化3-202")
                elif week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            elif week_day == 2:
                if week_time < 12:
                    print("今天有两门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！4-5节 毛概(实践)7-402")
                if week_time > 12 and week_time < 18:
                    print("今天最后一节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！8-10节 网站运营与管理3实-304")
                if week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            elif week_day == 3:
                if week_time < 12:
                    print("今天有两门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！3-5节 毛概(理论)9-201")
                if week_time > 12 and week_time < 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")
                if week_time > 18:
                    print("今天最后一节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！12-13节 大学英语10-205")

            elif week_day == 4:
                if week_time < 12:
                    print("今天有两门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！3-5节 Python新综612")
                if week_time > 12 and week_time < 18:
                    print("今天最后一节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！8-11节 纪录片评析4-206")
                if week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            elif week_day == 5:
                if week_time < 12:
                    print("今天有四门课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！1-2节 Ai软件应用 新综612")
                    print(" 3-4节 Ai软件应用 新综612")
                if week_time > 12 and week_time < 18:
                    print("今天最后两节课哦~麻烦带着你-该死的-想赖床的情绪-滚去上课！")
                    print("别拖拉！要上课了！8-9节 大学英语10-205")
                    print("别拖拉！要上课了！10-11节 太极拳 西体西")
                if week_time > 18:
                    print("好耶！不用上课，赶快睡觉！你个废人~")

            else:
                print("难得时刻！")
                print("终于可以好好休息了~享受下难得的周末吧！")

            # coding=utf-8。Unicode码位的取值范围是0x0——0x10ffff（这是十六进制数），等于十进制数0到1114111，而“Emoji”位于0x1f300——0x1f6ff区域内。
            for i in range(0x1f600, 0x1f601):
                print(chr(i), end="nice！")
                if i % 16 == 15:
                    print()

            while True:
                print()
                print("""非会员用户可通过权限，查看5次详细的课表：""")
                print("*******请输入【确切数字】，可查看当天详细课表*******")
                count = 5
                while True:
                    count -= 1  # 加在这里也没用
                    num = ["1", "2", "3", "4", "5"]
                    num = input("请输入您的选择:")

                    if "1" in num:
                        print("在星期一，您只有一门课哦~")
                        print("10-11节 韩语语言与文化3-202")
                        print("您还有", count, "次查询机会")
                        print()
                    elif "2" in num:
                        print("在星期二，您有两门课哦~")
                        print("4-5节 毛概(实践)7-402")
                        print("8-10节 网站运营与管理3实-304")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    elif "3" in num:
                        print("在星期三，您有两门课哦~")
                        print("3-5节 毛概(理论)9-201")
                        print("12-13节 大学英语10-205")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    elif "4" in num:
                        print("在星期四，您有两门课哦~")
                        print("3-5节 Python新综612")
                        print("8-11节 纪录片评析4-206")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    elif "5" in num:
                        print("在星期五，您有四门课哦~")
                        print("1-2节 Ai软件应用 新综612")
                        print(" 3-4节 Ai软件应用 新综612")
                        print("8-9节 大学英语10-205")
                        print("10-11节 太极拳 西体西")
                        print("尊敬的会员您好，您还有", count, "次查询机会，好好珍惜~")
                        print()
                    if count == 0:
                        print("对不起！您今日可查询次数已到达上限，请明天再来查询。")
                        break
                break
            break
        else:
            if count == 0:
                print("你都输入了三次了，还不对？你个废人，别输了，3分钟再来~")
                break
            else:
                print("您输入的账号或者密码不正确，请重新输入。您还有", count, "次机会~加油！")
    else:
        if count == 0:
            print("你都输入了三次了，还不对？你个废人，别输了，3分钟再来~")
            break
        else:
            print("您输入的账号或者密码不正确，请重新输入。您还有", count, "次机会~加油！")


